<template>
	<view class="main">
		<!-- 搜索 -->
		<!-- <view class="client-search">
			<input v-model="title" :placeholder="placeholder" class="client-input" @confirm="onSearchClientConfirm" />
			<uni-icons type="search" size="20" color="#bbb" class="client-icon"></uni-icons>
			<view class="client-btn" @click="onChangeClient()">搜索</view>
		</view> -->
		<view class="logtop">
			<!-- @click="openCalendar" -->
		<!-- 	<view class="sort-time">
				<uni-icons type="calendar-filled" size="20" color="#2698fb" style="margin-left: 10rpx;"></uni-icons>
				
				<view class="sort-time-start">
					<view class="uni-input">{{ startDate }}</view>
				</view>
				<view style="flex: 1;text-align: center;">至</view>
				<view class="sort-time-end">
					<view class="uni-input">{{ endDate }}</view>
				</view>
				
				<picker mode="date" class="select-month" :value="dateValue" fields="month" @change="onDateChange">
					<view class="picker">
						<text>选择订餐月份查看记录：{{ dateValue }}</text>
						<uni-icons type="down" size="20" color="#000"></uni-icons>
					</view>
				</picker>
			</view> -->
			
			<view class="bctj">
				<text class="t-icon t-icon-shixinchaxun text-icon"></text>
				<text class="tjtitle">选择订餐月份查看记录</text>
				<view class="tjtime">
					<picker mode="date" :value="dateValue" fields="month" @change="onDateChange">
						<view class="picker">
							<text>{{ dateValue }}</text>
							<uni-icons type="down" size="20" color="#000"></uni-icons>
						</view>
					</picker>
				</view>
			</view>
			
			<!-- 全选/反选 -->
			<view class="rows">
				<view class="date col">日期</view>
				<block v-for="(menu, mIndex) in menu" :key="mIndex">
					<view class="menu col">
						{{ menu.name }}
					</view>
				</block>
				<view class="col">操作</view>
			</view>
		</view>
		<view style="height: 185rpx;"></view>
		<view class="row" v-for="(item,index) in fooddietlist" :key="index">
			<view class="date col">
				{{item.dutyDate.slice(5)}}
				<view style="color: #006400;">{{item.dayName}}</view>
			</view>
			<block v-for="(val, key, i) in item" :key="i">
				<template v-if="key != 'dutyDate' && key != 'dayName'">
					<view class="menu col">
						<view v-if="key == 'breakfastOrdered' && val" style="color: #006400;">已订</view>
						<view v-if="key == 'lunchOrdered' && val" style="color: #006400;">已订</view>
						<view v-if="key == 'dinnerOrdered' && val" style="color: #006400;">已订</view>
						<!-- <uni-icons type="checkbox-filled" size="30" color="#007AFF" v-if="val"></uni-icons>
						<uni-icons type="checkbox" size="30" color="#ddd" v-else></uni-icons> -->
					</view>
				</template>
			</block>
			<view class="col revoke" @click="revokeBatch(item)">撤销</view>
		</view>
		<!-- <uni-calendar ref="calendar" :insert="false" :lunar="true" :range="true" @confirm="confirmDate" /> -->
		<uni-popup ref="selectDialog" type="dialog" catchtouchmove="true">
			<uni-popup-dialog ref="selectClose" mode="base" title="订餐撤销操作" @confirm="dialogSelectConfirm">
				<view style="text-align: center;color: #FF0000;font-size: 30rpx;margin: 20rpx 0;">
					请点击去掉勾选的报餐，否则无法撤销哦~
				</view>
				<view class="rows">
					<view class="date col">日期</view>
					<block v-for="(menu, mIndex) in menu" :key="mIndex">
						<view class="menu col">
							{{ menu.name }}
						</view>
					</block>
				</view>
				<view class="row" style="border-bottom: 0rpx;">
					<view class="date col" v-if="revoke.dutyDate">{{revoke.dutyDate.slice(5)}}
						<view style="color: #006400;">{{revoke.dayName}}</view>
					</view>
					<block v-for="(val, key, i) in revoke" :key="i">
						<template v-if="key != 'dutyDate' && key != 'dayName'">
							<view class="menu col" @click="_isAllselect(key,val,revoke.dutyDate)">
								<!-- <view v-if="val" style="color: #006400;">订</view> -->
								<uni-icons type="checkbox-filled" size="30" color="#007AFF" v-if="val"></uni-icons>
								<uni-icons type="circle" size="30" color="#ddd" v-else></uni-icons>
							</view>
						</template>
					</block>
				</view>
			</uni-popup-dialog>
		</uni-popup>
		<!-- <view class="bd">
			<scroll-view>
				<view v-for="(item, index) in listData" :key="index">
					<view class="item">
						<view class="clientf">
							<text class="itemtitle">{{item.name}}提交的汇标总部订餐</text>
						</view>
						<view class="detail">
							<text class="detime">订餐日期</text>
							<text class="detype" v-if="item.breakfastOrdered">
								{{item.ordermealsStart}}-{{item.ordermealsEnd}}早餐；
							</text>
							<text class="detype" v-if="item.lunchOrdered">
								{{item.ordermealsStart}}-{{item.ordermealsEnd}}中餐；
							</text>
							<text class="detype" v-if="item.dinnerOrdered">
								{{item.ordermealsStart}}-{{item.ordermealsEnd}}晚餐；
							</text>
							<text class="decontet">{{item.content}}</text>
						</view>
						<view class="clientf">
							<text class="itemtime">{{$getRelativeTime(item.startTime)}}</text>
							<button class="clientc" @click="cancel(item)" v-if="item.state == 0">撤销</button>
						</view>
						<text class="t-icon t-icon-yichexiao text-icon" v-if="item.state"></text>
						<text class="t-icon t-icon-yitongguo text-icon" v-else></text>
					</view>
				</view>

			</scroll-view>
			<view style="height: 45rpx;"></view>
			<view class="loading-text">
				{{ finish ? "没有更多数据了~" : "正在加载..." }}
			</view>
		</view> -->
	</view>
</template>

<script>
	import {
		postFoodDietList, // 获取报餐信息
		postTaskList, // 提交报餐
	} from "@/proxy/food/food.api.js";

	export default {
		// async onLoad() {
		// 	await this.postFoodDietListData();
		// },
		data() {
			return {
				// listData: [], // 报餐任务列表
				// finish: false, // 是否还有更多数据
				// placeholder:"搜索标题、编号、正文",
				// title:"",
				name: "",
				jobNumber: "",
				// 开始时间
				startDate: "",
				// 结束时间
				endDate: "",
				menu: [{
						name: "早餐"
					},
					{
						name: "中餐"
					},
					{
						name: "晚餐"
					},
				],
				fooddietlist: [], // 报餐详情
				revoke: {}, // 撤销数据
				dateValue: ""
			};
		},
		async mounted() {
			// 获取当前日期
			const currentDate = new Date();
			const year = currentDate.getFullYear();
			const month = String(currentDate.getMonth() + 1).padStart(2, '0'); // getMonth() 返回的是0-11，所以加1
			const formattedDate = `${year}-${month}`;
			this.dateValue = formattedDate;
			const {
				firstDay,
				lastDay
			} = this.getMonthFirstAndLastDay(formattedDate);
			this.startDate = firstDay;
			this.endDate = lastDay;
			// 获取当前月的第一天
			// const firstDay = new Date(currentDate.getFullYear(), currentDate.getMonth(), 1);
			// // 获取当前月的最后一天
			// const lastDay = new Date(currentDate.getFullYear(), currentDate.getMonth() + 1, 0);

			// 格式化日期为 'yyyy-MM-dd' 格式
			// this.startDate = this.formatDate(firstDay);
			// this.endDate = this.formatDate(lastDay);

			const {
				name,
				jobNumber
			} = uni.getStorageSync("userInfo");
			this.name = name;
			this.jobNumber = jobNumber;

			await this.postFoodDietListData();
		},
		methods: {
			deepClone(obj) {
				if (obj === null || typeof obj !== 'object') {
					return obj; // 如果是基本类型，直接返回
				}

				// 创建一个新的对象（或数组）
				let newObj = Array.isArray(obj) ? [] : {};

				for (let key in obj) {
					if (obj.hasOwnProperty(key)) {
						newObj[key] = this.deepClone(obj[key]); // 递归拷贝
					}
				}

				return newObj;
			},
			async onDateChange(e) {
				this.dateValue = e.detail.value;
				const {
					firstDay,
					lastDay
				} = this.getMonthFirstAndLastDay(this.dateValue);
				this.startDate = firstDay;
				this.endDate = lastDay;
				await this.postFoodDietListData();
			},
			// ------------------------------------------------------------------------------------
			// async revokeBatch(item) {
			// 	let that = this;
			// 	// 传入的日期（例如：2025-05-17）
			// 	const inputDate = new Date(item.dutyDate+'T23:59:59');

			// 	// 获取传入日期的时间戳
			// 	const inputTimestamp = inputDate.getTime();

			// 	// 获取当天7:00 AM的时间戳
			// 	// const nineAM = new Date(inputDate);
			// 	// nineAM.setHours(7, 0, 0, 0); // 设置为当天 7:00 AM
			// 	// const nineAMTimestamp = nineAM.getTime();

			// 	// 获取当前时间戳
			// 	const currentTimestamp = new Date().getTime();

			// 	// 判断是否已过传入日期的7:00 AM currentTimestamp >= nineAMTimestamp
			// 	if (currentTimestamp >= inputTimestamp) {
			// 		return that.$modal({
			// 			title: '提示',
			// 			content: `不能撤销 ${item.dutyDate} 的报餐`,
			// 			showCancel: false, // 如果不需要取消按钮
			// 			confirmText: '知道了'
			// 		});
			// 	}
			// 	// else {
			// 	// 	this.revoke = this.deepClone(item);
			// 	// 	this.$refs.selectDialog.open();
			// 	// 	// console.log("未过07点") // 如果当前时间小于7:00 AM

			// 	// }
			// 	if (item.breakfastOrdered === 0 && item.dinnerOrdered === 0 && item.lunchOrdered === 0) {
			// 		return that.$modal({
			// 			title: '提示',
			// 			content: `${item.dutyDate} 没有可撤销的报餐`,
			// 			showCancel: false, // 如果不需要取消按钮
			// 			confirmText: '知道了'
			// 		});
			// 	}

			// 	that.revoke = that.deepClone(item);

			// 	// 使用 for...in 遍历对象
			// 	for (let key in that.revoke) {
			// 		if (that.revoke[key] === 1) {
			// 			that.revoke[key] = 0;
			// 		}
			// 	}
			// 	// 将 uni.showModal 封装为 Promise
			// 	const confirmSubmit = () => {
			// 		return new Promise((resolve, reject) => {
			// 			uni.showModal({
			// 				title: '确认提交',
			// 				content: `你确定要撤销 ${item.dutyDate} 全部报餐吗？`,
			// 				success: function(res) {
			// 					if (res.confirm) {
			// 						resolve(); // 用户点击确认，继续执行提交操作
			// 					} else if (res.cancel) {
			// 						reject('用户取消提交'); // 用户点击取消，返回失败
			// 					}
			// 				}
			// 			});
			// 		});
			// 	};

			// 	try {
			// 		// 等待用户确认
			// 		await confirmSubmit();

			// 		// 用户点击确认后执行的异步操作
			// 		const result = await postTaskList({
			// 			name: that.name, // 报餐人
			// 			jobNumber: that.jobNumber, // 报餐工号
			// 			dietDaily: [that.revoke], // 提交撤销数据
			// 		});

			// 		console.log("报餐结果", result);
			// 		if (result.code == 200) {
			// 			// 提交成功后的操作
			// 			that.$toast({
			// 				title: "撤销成功",
			// 			});
			// 			var nav = setTimeout(() => {
			// 				that.postFoodDietListData();
			// 				clearTimeout(nav)
			// 			}, 500)
			// 		} else {
			// 			this.$toast({
			// 				title: result.data.msg,
			// 			});
			// 		}

			// 	} catch (err) {
			// 		// 捕获用户取消或者提交失败的错误
			// 		if (err === '用户取消提交') {
			// 			console.log('用户取消提交');
			// 		} else {
			// 			this.$toast({
			// 				icon: 'none',
			// 				title: '发起失败，请联系管理员！',
			// 				duration: 2000
			// 			});
			// 			console.log(err);
			// 		}
			// 	}
			// },
			// ------------------------------------------------------------------------------------
			// 修改
			revokeBatch(item) {
				
				if (item.breakfastOrdered === 0 && item.dinnerOrdered === 0 && item.lunchOrdered === 0) {
					return this.$modal({
						title: '提示',
						content: `${item.dutyDate} 没有可撤销的报餐`,
						showCancel: false, // 如果不需要取消按钮
						confirmText: '知道了'
					});
				}
				
				// 获取当前日期
				const currentDate = new Date();

				// 获取当前时间戳
				// const currentTimestamp = currentDate.getTime();
				
				const startOfDay = new Date(currentDate.setHours(0, 0, 0, 0)).getTime(); // 将时间设置为00:00

				// 获取当天17:00 AM的时间戳
				// const fiveAM = new Date(currentDate);
				// fiveAM.setDate(currentDate.getDate()); // 将日期设置为明天
				// fiveAM.setDate(currentDate.getDate() + 1); // 将日期设置为明天
				// fiveAM.setHours(9, 0, 0, 0); // 设置为当天17:00 AM
				// const fiveAMTimestamp = fiveAM.getTime(); // 获取当天17:00 AM的时间戳

				// 获取 item.dutyDate 的时间戳
				const dutyDate = new Date(item.dutyDate);
				// 设置该日期的时间为当天的 5:00 AM
				// dutyDate.setHours(23, 59, 59, 59); // 设置时间为当天 17:00 AM
				const dutyDateTimestamp = dutyDate.getTime();

				// 判断是否是当天及之前的日期dutyDateTimestamp <= currentTimestamp
				if (dutyDateTimestamp <= startOfDay) {
					// this.$toast({
					// 	// title: `不能撤销 ${item.dutyDate} 的报餐`,
					// });
					this.$modal({
						title: '提示',
						content: `不能撤销 ${item.dutyDate} 的报餐`,
						showCancel: false, // 如果不需要取消按钮
						confirmText: '知道了'
					});

				} else {
					// 判断是否已过当天5:00 AM
					// if (currentTimestamp >= fiveAMTimestamp) {
					// 	// 获取明天的日期
					// 	const tomorrow = new Date(currentDate);
					// 	// tomorrow.setDate(currentDate.getDate() + 1);

					// 	// 获取明天 23:59:59.999 PM 的时间戳
					// 	const endOfDayTimestamp = new Date(tomorrow.setHours(23, 59, 59, 999)).getTime();

					// 	// 如果已过5:00 AM，不能修改明天的报餐
					// 	if (dutyDateTimestamp <= endOfDayTimestamp) {
					// 		this.$modal({
					// 			title: '提示',
					// 			content: `不能撤销 ${item.dutyDate} 的报餐，因为今天已过09:00点啦`,
					// 			showCancel: false, // 如果不需要取消按钮
					// 			confirmText: '知道了'
					// 		});
					// 	} else {
					// 		this.revoke = this.deepClone(item);
					// 		this.$refs.selectDialog.open();
					// 	}
					// } else {
					// 	// 如果当前时间还没过5:00 AM，可以修改明天的报餐
					// 	this.revoke = this.deepClone(item);
					// 	this.$refs.selectDialog.open();
					// }
					this.revoke = this.deepClone(item);
					this.$refs.selectDialog.open();
				}

			},
			// openCalendar() {
			// 	this.$refs.calendar.open(); // 打开日历弹窗
			// },
			// async confirmDate(e) {

			// 	const ordermealsStart = e.range.data[0];
			// 	const ordermealsEnd = e.range.data[e.range.data.length - 1];

			// 	if (!ordermealsStart || !ordermealsEnd) {
			// 		this.startDate = "";
			// 		this.endDate = "";
			// 	} else {
			// 		this.startDate = ordermealsStart;
			// 		this.endDate = ordermealsEnd;
			// 	}

			// 	if (this.startDate && this.endDate) {

			// 		try {
			// 			// 执行的异步操作
			// 			const result = await postFoodDietList({
			// 				in: this.startDate, //订餐开始yyyy-MM-dd
			// 				out: this.endDate, //订餐结束yyyy-MM-dd
			// 				name: this.name, // 报餐人
			// 				jobNumber: this.jobNumber, // 报餐人
			// 			});

			// 			console.log("批量报餐结果", result);
			// 			if (result.code == 200) {
			// 				this.fooddietlist = result.data;
			// 			} else {
			// 				this.$toast({
			// 					title: result.data.msg,
			// 				});
			// 			}

			// 		} catch (err) {
			// 			// 捕获用户取消或者提交失败的错误
			// 			this.$toast({
			// 				icon: 'none',
			// 				title: '发起失败，请联系管理员！',
			// 				duration: 2000
			// 			});
			// 			console.log(err);
			// 		}

			// 	}
			// },
			getMonthFirstAndLastDay(dateStr) {
				// 将传入的年月字符串转为日期对象
				const [year, month] = dateStr.split('-').map(Number);

				// 获取该月的第一天
				const firstDay = new Date(year, month - 1, 1);

				// 获取该月的最后一天
				const lastDay = new Date(year, month, 0); // 月份+1，再设置天数为0，即得到上个月的最后一天

				// 格式化为 "yyyy-mm-dd"
				const formatDate = (date) => {
					const year = date.getFullYear();
					const month = String(date.getMonth() + 1).padStart(2, '0');
					const day = String(date.getDate()).padStart(2, '0');
					return `${year}-${month}-${day}`;
				};

				return {
					firstDay: formatDate(firstDay),
					lastDay: formatDate(lastDay)
				};
			},
			// 格式化日期为 'yyyy-MM-dd' 格式
			// formatDate(date) {
			// 	const year = date.getFullYear();
			// 	const month = (date.getMonth() + 1).toString().padStart(2, '0');
			// 	const day = date.getDate().toString().padStart(2, '0');
			// 	return `${year}-${month}-${day}`;
			// },
			isTodayAndAfter(key, inputDate) {
			    // 获取当前日期和时间
			    const now = new Date();
			    
			    // 获取传入的日期，假设格式是 'YYYY-MM-DD'
			    const input = new Date(inputDate);
			    
			    // 比较日期部分（不考虑时间部分），判断是否是今天
			    const isToday = now.getFullYear() === input.getFullYear() &&
			                    now.getMonth() === input.getMonth() &&
			                    now.getDate() === input.getDate();
			    
			    // 获取当前的时间，判断是否超过
			    const hours = now.getHours();
			    const minutes = now.getMinutes();
			    let isAfter = false;
			    
			    switch (key) {
			        case "breakfastOrdered":
			            // 判断是否已过08:30
			            // isAfter = (hours > 8) || (hours === 8 && minutes >= 30);
						isAfter = isToday;
			            break;
			        case "lunchOrdered":
			            // 判断是否已过12:00
			            isAfter = (hours > 9) || (hours === 9 && minutes >= 0);
			            break;
			        case "dinnerOrdered":
			            // 判断是否已过18:00
			            isAfter = (hours > 15) || (hours === 15 && minutes >= 0);
			            break;
			    }
			    
			    // 返回是否是今天且是否超过指定时间
			    return isToday && isAfter;
			},
			// 改变状态
			_isAllselect(key, val, dutyDate) {
				// const status = val === 1 ? 0 : 1; // 反选状态
				// this.revoke[key] = status; // 更新全选/反选状态
				
				if(val === 0){
					return this.$modal({
						title: '提示',
						content: `${dutyDate} 没有可撤销的订餐`,
						showCancel: false, // 如果不需要取消按钮
						confirmText: '知道了'
					});
				}
				
				const status = val === 1 ? 0 : 1; // 反选状态
				// this.menu_Array[key] = status; // 更新全选/反选状态
				// this.fooddietlist[index][key] = status; // 更新全选/反选状态
				let that = this;
				let result = false;
				switch (key) {
					case "breakfastOrdered":
						result = this.isTodayAndAfter(key,dutyDate);
						if (result) {
						    // console.log("传入日期是今天，并且已经过了08:30");
							return that.$modal({
								title: '提示',
								content: `早餐已到当天，不可再撤销`,
								showCancel: false, // 如果不需要取消按钮
								confirmText: '知道了'
							});
						} else {
						    // console.log("传入日期不是今天，或者还没有过08:30");
							this.revoke[key] = status;  // 更新全选/反选状态
						}
						break;
					case "lunchOrdered":
					    result = this.isTodayAndAfter(key,dutyDate);
					    if (result) {
							// console.log("传入日期是今天，并且已经过了12:00");
							return that.$modal({
								title: '提示',
								content: `中餐已过9:00，不可再撤销`,
								showCancel: false, // 如果不需要取消按钮
								confirmText: '知道了'
							});
					    } else {
					        // console.log("传入日期不是今天，或者还没有过12:00");
							this.revoke[key] = status;  // 更新全选/反选状态
					    }
						break;
					case "dinnerOrdered":
					    result = this.isTodayAndAfter(key,dutyDate);
					    if (result) {
					        // console.log("传入日期是今天，并且已经过了18:00");
							return that.$modal({
								title: '提示',
								content: `晚餐已过15:00，不可再撤销`,
								showCancel: false, // 如果不需要取消按钮
								confirmText: '知道了'
							});
					    } else {
					        // console.log("传入日期不是今天，或者还没有过18:00");
							this.revoke[key] = status;  // 更新全选/反选状态
					    }
						break;
				}
				
			},
			// 确定修改
			async dialogSelectConfirm() {
				var that = this;
				that.$refs.selectDialog.close();

				// 用户点击确认后执行的异步操作
				const result = await postTaskList({
					name: that.name, // 报餐人
					jobNumber: that.jobNumber, // 报餐人
					dietDaily: [that.revoke], // 提交报餐数据
				});

				console.log("批量报餐结果", result);
				if (result.code == 200) {
					// 提交成功后的操作
					this.$toast({
						title: "操作成功",
					});
					var nav = setTimeout(() => {
						that.postFoodDietListData();
						clearTimeout(nav)
					}, 500)
				} else {
					this.$toast({
						title: result.data.msg,
						duration: 2000
					});
				}

			},
			// 获取订餐详情
			async postFoodDietListData() {
				try {
					// 用户点击确认后执行的异步操作
					const result = await postFoodDietList({
						in: this.startDate,
						out: this.endDate,
						name: this.name, // 人
						jobNumber: this.jobNumber, // 
					});
					this.fooddietlist = [];
					if (result.code == 200) {
						// 将数字转换为星期几的名称
						const daysOfWeek = ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"];
						// 循环遍历数组
						for (let i = 0; i < result.data.length; i++) {
							const dutyDate = new Date(result.data[i].dutyDate);  // 将日期字符串转换为 Date 对象
							// 使用 getDay() 获取星期几
							const dayOfWeek = dutyDate.getDay();
							const dayName = daysOfWeek[dayOfWeek];
							this.fooddietlist.push({
								dutyDate: result.data[i].dutyDate,
								breakfastOrdered: result.data[i].breakfastOrdered,
								lunchOrdered: result.data[i].lunchOrdered,
								dinnerOrdered: result.data[i].dinnerOrdered,
								dayName:dayName,
							})
						}
						// console.log("报餐任务结果", this.fooddietlist);
					} else {
						this.$toast({
							title: result.data.msg,
						});
					}

				} catch (err) {
					this.$toast({
						icon: 'none',
						title: '发起失败，请联系管理员！',
						duration: 2000
					});
					console.log(err);
				}
			},
			// 撤销
			// async cancel(item) {

			// 	// 将 uni.showModal 封装为 Promise
			// 	const conCancelSubmit = () => {
			// 		return new Promise((resolve, reject) => {
			// 			this.$modal({
			// 				title: "提示",
			// 				content: "是否退餐？",
			// 				confirmText: "确定退餐",
			// 				confirmColor: "#0081ff",
			// 				success: (res) => {
			// 					if (res.confirm) {
			// 						resolve(); // 用户点击确认，继续执行提交操作
			// 					} else if (res.cancel) {
			// 						reject('用户取消提交'); // 用户点击取消，返回失败
			// 					}
			// 				},
			// 			});
			// 		});
			// 	};

			// 	try {
			// 		// 等待用户确认
			// 		await conCancelSubmit();

			// 		// 用户点击确认后执行的异步操作
			// 		const result = await postTaskList({
			// 			id: item.id,
			// 			name: item.name,
			// 			jobNumber: item.jobNumber,
			// 		});

			// 		console.log("撤销结果", result);
			// 		if (result.code == 200) {
			// 			// 提交成功后的操作
			// 			this.postFoodTaskListData(); // 重新获取数据
			// 		} else {
			// 			this.$toast({
			// 				title: result.data.msg,
			// 			});
			// 		}

			// 	} catch (err) {
			// 		// 捕获用户取消或者提交失败的错误
			// 		if (err === '用户取消提交') {
			// 			console.log('用户取消提交');
			// 		} else {
			// 			this.$toast({
			// 				icon: 'none',
			// 				title: '发起失败，请联系管理员！',
			// 				duration: 2000
			// 			});
			// 			console.log(err);
			// 		}
			// 	}
			// },
			// 订餐详情
			// detail(item) {
			// 	const url = `/pagesMeal/baocan/result?order_id=${item.id}`;
			// 	uni.navigateTo({
			// 		url
			// 	});
			// }
		},
		// mounted() {
		// this.$nextTick(() => {
		// 	// DOM 更新完成，可以在这里执行相关操作
		// 	console.log("DOM 渲染完成");
		// });
		// },
	};
</script>

<style lang="scss">
	.main {
		height: 100%;
		// background: #f1f1f1;
		background: #f4f4f4;
	}

	.uni-popup-dialog .uni-dialog-content {
		display: unset !important;
		padding: 20px 0 !important;
		flex-direction: unset !important;
		justify-content: unset !important;
		align-items: unset !important;
	}

	// .client-search{
	// 	display: flex;
	// 	align-content: center;
	// 	// padding: 0rpx 20rpx;
	// 	position: relative;
	// 	background: #FFF;
	// 	border: 1rpx solid #f1f1f1;
	// 	flex: 1;
	// 	// margin-left: 10rpx;
	// 	border-radius: 10rpx;
	// 	overflow: hidden;
	// 	.client-input{
	// 		flex: 1;
	// 		height: 70rpx;
	// 		line-height: 70rpx;
	// 		// border-radius: 40rpx;
	// 		padding-left: 60rpx;
	// 		font-size: 27rpx;
	// 	}
	// 	.client-icon{
	// 		position: absolute;
	// 		left: 15rpx;
	// 		top: 52%;
	// 		-webkit-transform: translateY(-50%);
	// 		transform: translateY(-50%);
	// 	}
	// 	.client-btn{
	// 		width: 90rpx;
	// 		text-align: center;
	// 		font-size: 28rpx;
	// 		height: 70rpx;
	// 		line-height: 70rpx;
	// 		color: #fff;
	// 		background: #2698fb;
	// 	}
	// }
	.logtop {
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		// height: 70rpx;
	}

	// .sort-time {
	// 	display: flex;
	// 	// margin: 0rpx 15rpx;
	// 	// padding: 10rpx;
	// 	height: 90rpx;
	// 	border: 2rpx solid #eaeaea;
	// 	// justify-content: space-between;
	// 	background-color: #FFF;
	// 	align-items: center;

	// 	// border-radius: 10rpx;
	// 	.select-month {
	// 		flex: 1;
	// 		height: 90rpx;
	// 		line-height: 90rpx;
	// 	}
	// }

	// .sort-time-start,
	// .sort-time-end {
	// 	display: flex;
	// 	align-items: center;
	// }

	// .sort-time-start {
	// 	margin-left: 30rpx;
	// }

	// .sort-time-end {
	// 	margin-right: 30rpx;
	// }

	// .sort-time-start .uni-input,
	// .sort-time-end .uni-input {
	// 	padding: 20rpx;
	// 	border-radius: 6rpx;
	// 	height: 30rpx;
	// 	line-height: 30rpx;
	// }
	
	.bctj {
		display: flex;
		align-items: center;
		padding: 20rpx 20rpx;
		line-height: 60rpx;
		position: relative;
		// margin-bottom: 20rpx;
		background-color: #FFF;
	
		.text-icon {
			width: 44rpx;
			height: 44rpx;
		}
	
		.tjtitle {
			flex: 1;
			font-size: 30rpx;
			color: #303133;
			margin-right: 10rpx;
			margin-left: 15rpx;
		}
	
		.tjtime {
			align-self: center;
			font-size: 30rpx;
			// color: #606266;
			margin-left: 10rpx;
		}
	
		&::after {
			position: absolute;
			z-index: 3;
			left: 0;
			right: 0;
			height: 0;
			content: '';
			bottom: 0;
			-webkit-transform: scaleY(0.5);
			transform: scaleY(0.5);
			border-bottom: 1px solid #E4E7ED;
			border-bottom-width: 1px;
			border-bottom-style: solid;
			border-bottom-color: rgb(228, 231, 237);
		}
	}
	

	.rows {
		height: 80rpx;
		padding: 0rpx 30rpx;
	}

	.row {
		padding: 15rpx 30rpx;
	}

	.row,
	.rows {
		display: flex;
		border-bottom: 1px solid #ececec;
		align-items: center;
		background-color: #fff;

		.col {
			flex: 1;
			text-align: center;
			font-size: 29rpx;
		}

		.revoke {
			height: 50rpx;
			background-color: #2698fb;
			line-height: 50rpx;
			color: #FFF;
			font-size: 26rpx;
			margin: 0;
			border-radius: 10rpx;
			letter-spacing: 2rpx;
		}
	}

	// .bd {
	// 	.item {
	// 		padding: 30rpx 30rpx;
	// 		background-color: #fff;
	// 		// border-bottom: 1px solid #e2e2e2;
	// 		margin: 10rpx 20rpx;
	// 		border-radius: 10rpx;
	// 		position: relative;

	// 		.clientf {
	// 			display: flex;
	// 			flex: 1;
	// 			justify-content: space-between;
	// 			align-items: center;

	// 			.itemtitle {
	// 				font-size: 30rpx;
	// 			}

	// 			.itemtime {
	// 				font-size: 26rpx;
	// 				color: #575959;
	// 			}

	// 			.clientc {
	// 				width: 200rpx;
	// 				height: 50rpx;
	// 				background-color: #2698fb;
	// 				text-align: center;
	// 				line-height: 50rpx;
	// 				color: #FFF;
	// 				font-size: 26rpx;
	// 				margin: 0;
	// 			}
	// 		}

	// 		.detail {
	// 			font-size: 26rpx;
	// 			color: #575959;
	// 			margin: 15rpx 0rpx;

	// 			.detime {
	// 				display: inline-block;
	// 			}

	// 			.detype {
	// 				font-size: 30rpx;
	// 				display: block;
	// 				color: #000000;
	// 			}

	// 			.decontet {
	// 				display: inline-block;
	// 				line-height: 1.69;
	// 			}
	// 		}

	// 		.text-icon {
	// 			position: absolute;
	// 			right: 20rpx;
	// 			top: 20rpx;
	// 			width: 100rpx;
	// 			height: 100rpx;
	// 		}
	// 	}
	// }

	// .loading-text {
	// 	text-align: center;
	// 	font-size: 28rpx;
	// 	color: #666;
	// 	padding: 20rpx 0 20rpx;
	// }
</style>